Here are a few other variables for customizing Ediff:
ediff-split-window-functionsplit-window-vertically, but you
can set it to split-window-horizontally, if you
so wish. Ediff also lets you switch from vertical to
horizontal split and back interactively.
Note that if Ediff detects that all the buffers it compares are displayed in separate frames, it assumes that the user wants them to be so displayed and stops splitting windows. Instead, it arranges for each buffer to be displayed in a separate frame. You can switch to the one-frame mode by hiding one of the buffers A/B/C.
You can also swap the windows where buffers are displayed
by typing ~.
ediff-merge-split-window-functionediff-split-window-function, but it defaults to
split-window-horizontally instead of
split-window-vertically.ediff-make-wide-display-functionediff-make-wide-display-function for
details. It is also recommended to look into the source of
the default function ediff-make-wide-display.
You can toggle wide/regular display by typing
m. In the wide display mode, buffers A, B (and C,
when applicable) are displayed in a single frame that is as
wide as the entire workstation screen. This is useful when
files are compared side-by-side. By default, the display is
widened without changing its height.
ediff-use-last-dirnil, Ediff uses the
default directory of the current buffer when it prompts the
user for file names. Otherwise, it will use the directories it
had previously used for files A, B, or C,
respectively.ediff-no-emacs-help-in-control-buffert, makes C-h behave like the
<DEL> key, i.e., it will move you back to the previous
difference rather than invoking help. This is useful when, in
an xterm window or a text-only terminal, the Backspace key is
bound to C-h and is positioned more conveniently
than the <DEL> key.ediff-toggle-read-only-functionThe default function that Ediff uses simply toggles the
read-only property, unless the file is under version control.
For a checked-in file under version control, Ediff first
tries to check the file out.
ediff-make-buffers-readonly-at-startup
nilt, all variant buffers are made read-only
at Ediff startup.ediff-keep-variantst, meaning that the buffers
being compared or merged will be preserved when Ediff quits.
Setting this to nil causes Ediff to offer the
user a chance to delete these buffers (if they are not
modified). Supplying a prefix argument to the quit command
(q) temporarily reverses the meaning of this
variable. This is convenient when the user prefers one of the
behaviors most of the time, but occasionally needs the other
behavior.
However, Ediff temporarily resets this variable to
t if it is invoked via one of the "buffer" jobs,
such as ediff-buffers. This is because it is all
too easy to lose a day's work otherwise. Besides, in a
"buffer" job, the variant buffers have already been loaded
prior to starting Ediff, so Ediff just preserves status quo
here.
Using ediff-cleanup-hook, one can make Ediff
delete the variants unconditionally (e.g., by making
ediff-janitor into one of these
hooks).
ediff-keep-tmp-versionsnil. If t, the
versions of the files being compared or merged using operations
such as ediff-revision or
ediff-merge-revisions are not deleted on exit. The
normal action is to clean up and delete these version
files.ediff-grab-mouset. Normally, Ediff grabs mouse and puts it in
its control frame. This is useful since the user can be sure
that when he needs to type an Ediff command the focus will be
in an appropriate Ediff's frame. However, some users prefer to
move the mouse by themselves. The above variable, if set to
maybe, will prevent Ediff from grabbing the mouse
in many situations, usually after commands that may take more
time than usual. In other situation, Ediff will continue
grabbing the mouse and putting it where it believes is
appropriate. If the value is nil, then mouse is
entirely user's responsibility. Try different settings and see
which one is for you.